home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / Source / HyperCuber 2.0 Source / CEditKeyControlsDirector.cp < prev    next >
Encoding:
Text File  |  1994-04-05  |  2.1 KB  |  72 lines  |  [TEXT/KAHL]

  1. //|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2. //| CEditKeyControlsDirector.cp
  3. //|
  4. //| This implements the director to control the dialog used to edit key controls
  5. //|______________________________________________________________________________
  6.  
  7. #include "CEditKeyControlsDialog.h"
  8. #include "CEditKeyControlsDirector.h"
  9. #include "CKeyPane.h"
  10. #include "CHyperCuberPrefs.h"
  11. #include "HyperCuber Commands.h"
  12.  
  13. #include <CPopupMenu.h>
  14. #include <CStdPopupPane.h>
  15.  
  16.  
  17. //============================ Globals ============================\\
  18.  
  19. extern CDesktop         *gDesktop;
  20.  
  21.  
  22.  
  23. //|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24. //| CEditKeyControlsDirector::IKeyControlsDirector
  25. //|
  26. //| Purpose: Initialize the dialog.
  27. //|
  28. //| Parameters: aSupervisor: the supervisor
  29. //|             key:         the key; if key is changed, receives changed key
  30. //|___________________________________________________________________________
  31.  
  32. void CEditKeyControlsDirector::IEditKeyControlsDirector (CDirectorOwner *aSupervisor,
  33.                                                             key_control_struct *key)
  34. {
  35.  
  36. #define EDIT_CONTROLS_DIALOG_ID    133
  37.  
  38.     CDialogDirector::IDialogDirector (aSupervisor);                        //  Init superclass
  39.  
  40.     theKey = key;                                                        //  Save key command pointer
  41.  
  42.     CEditKeyControlsDialog *dialog = new (CEditKeyControlsDialog);        //  Set up the dialog
  43.     dialog->IEditKeyControlsDialog (EDIT_CONTROLS_DIALOG_ID, gDesktop, this, key);
  44.     itsWindow = dialog;
  45.  
  46. }    //=== CEditKeyControlsDirector::IEditKeyControlsDirector() ===\\
  47.  
  48.  
  49.  
  50. //|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  51. //| CEditKeyControlsDirector::TalkToUser
  52. //|
  53. //| Purpose: Handle commands for the dialog.
  54. //|
  55. //| Parameters: none
  56. //|_________________________________________________________
  57.  
  58. void CEditKeyControlsDirector::TalkToUser(void)
  59. {
  60.  
  61.     long dismiss_command;
  62.     
  63.     BeginModalDialog();
  64.     long dismiss = DoModalDialog(cmdOK);
  65.     
  66.     CEditKeyControlsDialog *dialog = (CEditKeyControlsDialog *) itsWindow;
  67.  
  68.     if (dismiss == cmdOK)
  69.         ((CEditKeyControlsDialog *) itsWindow)->UpdateKey(theKey);    //  Update the key
  70.  
  71. }    //=== CEditKeyControlsDirector::TalkToUser ===\\
  72.